package net.alche.fa.core;
import net.alche.fa.core.model.FaValue;
import net.alche.fa.core.model.Logic;
import net.alche.fa.core.model.DebugFall;
// import net.alche.fa.biz.SageBiz;

public class CodeLevel {
    public boolean ifStatus = false;
    public boolean isBreak = false;
    public boolean isReturn = false;
    public boolean isContinue = false;
    public boolean doChild = true;
    public FaValue returnObj = null;
    public boolean isException = false;
    public boolean isStatic = false;
    public boolean isFinal = false;
    public Exception exception = null;
    public Logic logicParam = null;
    public DebugFall debugFall;
    public String debugUserId;
    public String uuid;
    public String postCode;
    // public SageBiz sageBiz;

  public CodeLevel instanceDeep() {
    CodeLevel cl = new CodeLevel();
    cl.isStatic = this.isStatic;
    cl.debugUserId = this.debugUserId;
    // cl.sageBiz = this.sageBiz;
    cl.uuid = this.uuid;
    cl.postCode = this.postCode;
    cl.debugFall = new DebugFall(this.debugFall);
    return cl;
  }

  public CodeLevel instance() {
    CodeLevel cl = new CodeLevel();
    cl.debugUserId = this.debugUserId;
    // cl.sageBiz = this.sageBiz;
    cl.uuid = this.uuid;
    cl.postCode = this.postCode;
    return cl;
  }
}